2607. Признак делимости на 11

 

Признак делимости на 11 часто формулируют так: сложим отдельно цифры числа, стоящих на чётных и на нечётных местах. Если разница сумм делится на 11, то и само число делится на 11. Посчитайте эти суммы и найдите их произведение.

 

Вход. Натуральное число n (10 ≤ n ≤ 2 *109).

 

Выход. Вывести произведение сумм цифр на чётных и на нечётных местах.

 

Пример входа 1

Пример выхода 1

27

14

 

 

Пример входа 2

Пример выхода 2

2821

36

 

 

РЕШЕНИЕ

циклы

 

Анализ алгоритма

В переменных a и b находим суммы цифр на чётных и на нечётных местах. Выводим их произведение.

Объявим переменную flag которая будет принимать попеременно значения 0 и 1. При flag = 1 последнюю цифру числа n прибавляем к a, при flag = 0 ее прибавляем к b. На каждой итерации делим n на 10 и изменяем флаг: flag = 1 – flag.

 

Пример

Рассмотрим второй пример.

При flag = 1 последняя цифра цифра прибавляется к a.

При flag = 0 последняя цифра цифра прибавляется к b.

 

Реализация алгоритма

Читаем входное значение n.

 

scanf("%d", &n);

 

Инициализируем переменные. Перебираем цифры числа n.

 

flag = a = b = 0;

while (n > 0)

{

 

В зависимости от значения флага последнюю цифру числа n прибавляем к a или к b.

 

  if (flag == 1) a = a + n % 10; else b = b + n % 10;

 

Изменяем флаг. Делим n на 10, переходим к обработке следующей цифры.

 

  flag = 1 - flag;

  n = n / 10;

}

 

Выводим искомое произведение.

 

printf("%d\n", a * b);